home *** CD-ROM | disk | FTP | other *** search
- The RemoteAccess Pub v1.82 - Development History
- ------------------------------------------------
-
- This file contains detailed information about the history of the
- ressurrection of RAP as well as new additions to the program. This is for all
- of you curious people! A shorter list of major changes can be found in
- WHATSNEW.DOC.
-
- Entries prefixed by the symbol {+} are bonus features for registered
- systems only.
-
- The entries are in reverse order so you can read the latest information
- first.
-
- Version 1.82
- ------------
-
- Version 1.81wb was (almost) a total disaster so this version's puprose is
- to get rid of two major bugs: the endless-message-loop, and the bugs that
- cause RAP to crash from time to time. This version has been tested enough to
- justify removing the Wide Beta designation.
-
- - Corrected some undiscovered problems with Maximus support. I missed an
- entire whack of MECCA Attribute Changing Codes. The Blink code is also
- supported now.
- - RAP now knows where RAP.EXE is located and will use that path to look for
- USERS.RAP, ACTIONS.RAP, etc.
- - MASSIVE CHANGE TO THE FILE I/O SYSTEM!!! All of the file i/o operations
- have been rewritten. The new system uses record locking for faster file
- i/o. Most files remain OPEN until the program ends, significantly
- improving performance.
- - Ultra-basic RIP support added. RAP will display .RIP files if the user
- has RIP enabled rather than the .ASC/.ANS/.AVT files. See BETA.DOC for
- more details.
- - FINALLY nailed the bug(s) that were causing RAP to crash. I'll be a lot
- more careful from now on. My thanks to Joel Downer for his idea on why
- it was crashing. He was right.
- - RAP now attempts to process messages before processing the user's input.
- This means that if anybody entered RAP or FORGOT/REMEMBERed the user
- while the user was typing, the event will be recognized. Thanks to our
- old friend Joe Lindstrom for spotting this one!
- - Because of the above modification, "Message Sent" and similar responses
- won't be sent until the message is actually sent, instead of right away.
- This the same way Major BBS works, and is a lot nicer.
- - RAP no longer displays the list of commands on entry, just instructions
- on getting help.
- - SEVERAL Major BBS alias commands added. These are: /#, /F, /R, USERS,
- /?, /P, /L, X, EDIT, /E, /A LIST, ACTIONS LIST, /TIME, /*, WHISPER TO.
- /L is shortform for LOOKUP and requires a bit of an explanation. On the
- boards around here /R is defined as "Registry Lookup" globally, but it's
- ALSO defined as REMEMBER in the teleconference. With RAP, /R will
- remember as it should, and /L will look somebody up.
- - A bunch of cosmetic uglies with regard to FORGETting users has been
- corrected. Sloppiness on my part.
-
- Version 1.81wb
- --------------
-
- Maintenance and bug-fix release.
-
- - Cheap cosmetic bug in the action list fixed. A missing statement was
- causing personal actions to be "uncoloured" if the previous action was
- Undefined. Thanks to Mike Aleksiuk for spotting this one.
- - Implemented the Registration Key system. Yes, I admit I forgot the last
- time, but such is life. See BETA.DOC for what to do when you receive
- your registration key.
- - Rewrote the handling of Pascal style strings, which RA procudes in its
- data files. There was a lot of unneccessary disk accessing going on, and
- this has now been eliminated.
- - FINALLY tracked down and fixed the bug in the USERON.BBS handling which
- was wreaking havoc (as described in PROBLEMS.DOC included with v1.80wb).
- It had to do with the Pascal string handling, and after I rewrote the
- routines described above I realized what the problem was.
- - RAP now creates RABUSY.xxx files in the RAP Work Path if RA Support is
- enabled and a user logs on that isn't listed in USERON.BBS. No point in
- taking any risks, since some people use the RABUSY files to determine
- whether or not certain things can be done safely.
- - RAP now detects the Do Not Disturb flag in USERON.BBS and won't let you
- send PAGEs to nodes which have it.
- - RAP now detects if a node is in use or not and won't allow PAGEs to go to
- inactive nodes.
- - Fixed a major bug that was causing RAP to abort if a NODEIDX2.RAP file
- wasn't found in LAN mode. Again, too much errorchecking was the cause.
- - Rewrote the string "trimming" routine because the old one was careless
- and a tad buggy.
- - SCAN is now accepted as an alternative to WHO, to make it easier on
- MajorBBS users.
- - # is now accepted as an alternative to NODES (on RA systems), again to
- make things easier for MajorBBS users.
- - MAXIMUS SUPPORT IMPLEMENTED!!!!! Upon detection of a MAX environment
- variable, RAP will switch on Maximus v2.0x support. Currently, the NODES
- command works, and RAP will also write any users logging into RAP to an
- IPCxx.BBS file for all users to see them. The Real Name is used since
- Maximus is mostly real-name based.
- - Fixed the Capitalizer, which was actually stripping the colour codes from
- the strings instead of just ignoring them!
- - Fixed some shortcomings in the output routine. If ^^ happens to be at
- the end of a string it will no longer make things look weird.
- - Fixed a small bug that was causing the TIME command to report time
- deductions in LOCAL or LAN modes.
- - Fixed a minor cosmetic problem in the WHO/SCAN list.
- - Moved the upgrade instructions from this file to UPGRADE.DOC.
- - Added RA Ctrl-K style colour-codes to RA PAGEs.
- - Added the ability to interpret RA Ctrl-K colour codes when reading
- NODExxx.RA files.
- - Maximus PAGEing added, in full colour.
- - RAP will now attempt to process Maximus IPC messages. Currently, only
- CMSG_HEY_DUDE (normal) type messages are processed, and all others will
- be ignored. In future, all types of messages will be processed.
- - Renamed this file (WHATSNEW) to HISTORY.DOC and created a shorter
- WHATSNEW.DOC so people don't have to do a lot of reading.
- - Fixed a careless mistake that caused RAP to garble the work path if none
- was given on the command line.
- - Fixed a problem that was causing RAP to go into an infinite loop when
- some errors forced an abort.
- - Revamped the file system. There should be no more sharing errors now.
- The new file system uses "lock" files to prevent other nodes from
- accessing files that are in use. This may be a tad bit slower than
- before but it should be safer.
- - User File Size doubled to make room for some new information. See
- UPGRADE.DOC for upgrade details!
- - Entry/Exit messages added! Users may now configure personalized messages
- for when they enter and leave RAP. The messages are configurable from
- the profile editor. RAP will also notify other users when these messages
- are changed (to prevent unfriendly surprises I guess).
- - Cleaned up some improper code that caused problems when the
- user/message/node files got larger than 64K. Whoops!
- - Removed "reserved" bytes from the inter-node messages, which should speed
- up the inter-node communication considerably. I forgot that I don't need
- to maintain backward-compatibility for the inter-node messages, so about
- 400 useless bytes were being written for each message! OOPS!
- - The new file system was a total disaster speed-wise, so I took it out.
- The revised file system uses standard DOS sharing, but it's a lot more
- thoroughly implemented.
- - RAP will NO LONGER display the nodes marked "Ready" in USERON.BBS. RA
- seems to use this flag to indicate a node is waiting for a call, and as I
- saw first hand on one system this makes for a rather ugly NODES list.
- - Overlays are GONE. They were never really needed as bad as I thought,
- and they just caused problems with sharing errors. NOEMS, NOXMS, and
- NOHIGH switches are no longer valid.
- - File operations that only do reading now only deny Write access instead
- of both Read and Write. That should cut down on sharing errors a
- little.
- - Fixed up the ACTIONS.RAP and IPCxxx.BBS rescan logic. The old code was
- causing the odd involuntary rescan, which really did slow things down.
- {+} - Various Personal Preference Options added. Existing user files will work
- fine. This is the first feature for registered systems only.
- - Talktype messages/GA's now echoed by default.
- - Problems with actions are no longer fatal errors.
- - SysOp Chat Mode enabled. I had disabled it before. Thanks to Josh
- Heizman for showing me why this is needed! <grin> Alt-C will engage a
- SysOp-User chat. Normal Pub Conversation will be stored until the chat
- is ended with ESC.
- - Upgrade programs modified to set default Preference bits.
- - Fixed a bug that made the user's handle appear to be "Male" or "Female"
- after a sex change.
- - RA NODES listing now uses Real Names, since it makes more sense. In the
- future this will be configurable
-
- Version 1.80wb
- --------------
-
- First public beta release. This version of RAP now has everything that
- 1.00b had internally. External programs (RAPMaint, RAPEdit) are still to come.
-
- - RAP now informs users when a TalkType has been sent. This is to clear up
- some confusion that some users previously experienced.
- - Forgot to make RAP inform other users when somebody changes a Personal
- Action. RAP now does so.
- - Forgot to make RAP inform other users when somebody leaves the Pub
- abruptly (carrier drop, timeout, etc.). Fixed.
- - Fixed up some of the colourization during chat so users don't get too
- confused.
- - I think I finally cleaned up some problems with the new errorchecking.
- Too much errorchecking isn't always a good thing! <grin>
- - Some of the help screens have been expanded a little to help eliminate
- some confusion users were having.
- - Fixed up the USERS command. It was VERY buggy before.
- - Fixed a MAJOR problem in the Pascal String Read/Write routines that
- wasn't helping my cause with the USERS command very much.
- - If a node is not in use on the BBS, but in use on RAP, RAP will write the
- node information to the USERON.BBS file (if the BBS type is RA of
- course). This will allow users online to see if people (sysops, or users
- on the LAN, or whatever) are in RAP, and encourage chatting. RAP also
- deletes the info when the user leaves.
- - FORGET and REMEMBER commands added! These allow users to control who
- they can receive messages from. If there is a problem user, just FORGET
- him/her! All messages from that person will be blocked until either the
- user REMEMBERs the troublemaker, or the troublemaker or user exit and
- re-enter chat.
- - Secret Actions have been added! Appending /S or SECRETLY to an action
- command will cause the action to be shown only to the recipient! Great
- for "under-the-table" style nudges, and other things.
- - User File modified to store a password. Existing user files will
- continue to work as long as they are in v1.80wb format.
- - LOCAL and LAN modes added. See BETA.DOC for details.
- - USERS command has be renamed to NODES, which is what it should have been
- all along. I dunno, I must have had a mind blank or something when I put
- it in. I think it came from when I was skimming over the RAP 1.00b
- WHATSNEW file. <grin>
- - Corrected a bug where outbound word-wrap wasn't picking up the colour
- codes.
- - Corrected a bug where Colour Codes were hampering the proper
- capitalization of handles, names, etc.
- - There were lots of instances where Colour Codes in Handles created some
- problems with displays, searching, etc. I've cleaned up most of these
- now.
- - Most of the user input is now "trimmed" so extra spaces at the start/end
- of the input will be ignored.
- - Password protection has now been implemented. All users now have the
- option of setting a password in the PROFILE menu. When a new user signs
- on in LOCAL or LAN mode, RAP will prompt for a password as part of the
- new user sign-on. If there is a password defined in the user file, the
- user must enter it upon entering RAP in order to continue.
- - In LOCAL and LAN modes, RAP will automatically turn on ANSI colour if a
- colour monitor is detected, otherwise plain ASCII will be used.
- - RAP now recognizes and translates the RA Control Code ^K[628, which is
- used when one user online posts a message to another user that is online
- at the same time.
- - Basic logging has been added so SysOps can track user activity within
- RAP.
- - RAP now writes the user's real name when a PAGE is sent instead of the
- user's handle, to avoid confusing the other users on the system who can't
- see the user's RAP handle.
- - Fixed a cosmetic bug that was causing the user's handle not to be
- properly erased when a message was received that was shorter than the
- user's handle.
- - Finally tracked down and fixed a very annoying bug in the main input
- routine that would cause an extra letter to be prefixed to the wrapped
- word in some circumstances.
- - RAP now rescans the action verbs before an action listing. This allows
- the actions to be edited while users are online and used right away!
- - Colour codes have been disallowed in handles until a bug can be fixed.
- - High-bit ASCII characters are now allowed.
- - Colour code trigger ^ was changed to ^^ to provide less of a chance of
- user's triggering colour codes by accident. A lone ^ will pass through
- as a ^. In case of a rare need to display a ^^, three ^ characters in a
- row can be used.
- - Gave the colour code processor some more AI. Now, if non-Hex characters
- are detected after ^^ then processing will stop and the characters will
- come through. This allows users to give simply ^^ to return to the
- default colour. Also, if only one character is parsed then it will be
- treated as the foreground colour, to keep things simpler.
- - Finally started to update the actions listing. I've "censored" it a
- little, and added many more actions. Some are long-time favourites from
- the chat boards around here, and others are the ideas of me and my users.
- - Fixed a few cosmetic problems with the actions list. I also changed the
- list to display six columns of actions instead of five.
- - RAP now deletes the message file for a node upon a user entering RAP,
- thus eliminating any messages that might be left over after an "abrupt"
- exit (time runs out, sysop punts user, etc.).
- - Logic added so that if the actions list is changed then the verbs will be
- rescanned. This allows users to use updated actions immediately after
- a change is made by the Sysop, meaning the Sysop can safely edit the
- actions file while users are online.
- - Removed the ability to "forget" yourself, because it was causing
- problems. In the future when I fix the problem I will probably put this
- ability back in, just for completeness.
- - Corrected the bug with the handles having colour codes, so this feature
- has been restored.
- - Corrected a problem that was causing RAP to miss DORINFOx.DEF if x was
- from 2 to Z. As long as the proper node is given, RAP will now pick up
- the proper DORINFOx.DEF file.
- - Correct a lack of code that caused some info in the NODEIDX file to get
- wiped after an online handle change.
- - Sped up the NODES command's ability to detect if a node is not in use.
- The pause that occurs during the NODES command on low-node systems is now
- very small.
- - Forgot to modify some other routines to look for the new RAPColour(TM)
- codes. Fixed.
- - Fixed a problem that would erase the prompt even if a message was
- received from a "forgotten" node, thus causing the prompt to dissapear
- completely.
- - Fixed a bug in the output routine that caused raw colour codes to slip
- through sometimes. I should have known better than to use unproven
- shortcuts!
- - Fixed a bug where RAP wasn't reading in enough characters from the
- actions file, so 10 character action verbs caused major problems.
- - User File modified to store the user's Age. This won't be used in this
- version, but it will be used later! Thanks to our former RAP-Master Joe
- Lindstrom for this idea. Existing converted user files will work fine.
- - NODEIDX File modified to store some new information. Admittedly this
- isn't a very big deal at this time, a future version of RAP will use this
- new information in a big way.
- - Corrected a hazardous bug that caused LOCAL and LAN modes to still scan
- for a Drop File.
- - Corrected (hopefully, since this area of RAP is really giving me
- trouble) some bugs where USERON.BBS wasn't being read/rescanned/modified
- correctly.
- - Corrected a bug that was causing sharing errors in logging. Because of
- this, the logs weren't getting updated when more than one user was in
- RAP! RAP now writes seperate log files for each node. RAP1.LOG for node
- 1, RAP2.LOG for node 2, etc.
- - Increased the number of file i/o retries in order to decrease sharing
- errors.
- - Modified code to prevent RAP from stripping off high-bit characters that
- were previously considered "whitespace".
- - Fixed a rather lame oversight that caused whitespace to get stripped from
- the start of user-typed text. This was never desirable, I just screwed
- up. <grin>
-
- Version 1.79beta
- ----------------
-
- Release for beta testers to get some of the new features tested in advance.
-
- - Oops, forgot to mention in the last version's notes that I added
- word-wrap to the input routine.
- - Split the source code into more than one module to make it easier for me
- to work on the program. The split went without any trouble.
- - RAP now Dynamically Allocates its memory upon bootup. This will allow
- more flexibility and configurability depending on each individual sysop's
- memory requirements. If I'm not mistaking, it seems to have shrunk
- RAP.EXE by about 15K as well. The conversion was successful after some
- initial problems.
- - RA support is now AutoDetected by using the RA environment variable.
- - USERS command has been implemented. If RA support is not detected, RAP
- will be polite and inform the user that the USERS command is not
- available. My thanks to David Ong for help with the Pascal data files
- that RA puts out (namely USERON.BBS).
- - Fixed a bug that caused RAP to set itself as node 1 if the node number
- passed was 0 or invalid.
- - Basic PAGE command has been implemented. As with USERS, this command
- will not be available if RA support is not detected. There's no checking
- whether the node is actually online, nor is there checking for Do Not
- Disturb mode.
- - User Record has been modified to store some more Preference Options. RAP
- v1.61beta and RAP v1.70beta User Files will continue to work with no
- modifications.
- - I'm still working on Maximus interfacing. I hope to have this in place
- by v1.90wb, or sooner.
- - Eliminated the double-spacing during chat. If you really don't like
- this, live with it for now, and it'll be configurable in a future
- version. However, Joe and I both agree that this improves the chat
- greatly, even if it makes it slightly more "busy". We'll give it a try,
- though.
- - Whoops! Found a quirk with the new memory usage that was causing
- something not to be reset, and thus actions to be missed at certain
- times. Fixed.
- - Added a new action token, at Joe's request: %f. See BETA.DOC for an
- explanation.
- - Output routine has been TOTALLY modified. New features include word-wrap
- and a much shorter colour code system. This should solve any future
- problems related to output. See BETA.DOC for details.
- - Entire program now uses the new output routine, meaning just about
- anything can be colourized. This will make things much nicer in the
- future, when RAP has Sysop-configurable text.
- - Because of the new output routine, users can now use Colour in their
- text! See COLHELP.ASC for details.
- - The new output routine also fixes a problem where ` and @ characters
- weren't being echoed.
- - COLORHELP command added. This command will display COLHELP.A??,
- depending on the user's terminal emulation mode. These files are
- included starting with this release.
- - Fixed a couple of cases where the Handle wasn't getting capitalized.
- - Forgot to make RAP free memory upon exit, thus causing some rather nasty
- results. Fixed.
- - RAP now picks up on the N/A strings in the actions file and informs the
- user that he/she can't use the verb in that fashion. The fact the old
- RAP did this kinda got lost in the shuffle, and I didn't think of it
- again until Joe reminded me. So...I'm NOT perfect after all! <grin>
- - Action limit raised to 3072, just in case anybody wants that many.
- - The Upgrade Program FINALLY converts the old style user file!
- - Basic error checking added to the Upgrade Program. That's all it'll get,
- since it's only a simple upgrade.
- - RAP now scans for and displays the NODExxx.RA files if RA Support is
- detected. This allows users not in RAP to page users that are in RAP.
- In addition to translating ^A, ^K[258, ^K[496, and ^K[497 like the old
- RAP, most of the other ^K and ^F codes are supported.
- - LOOKUP now accepts a string right after it, as in LOOKUP JOE. I
- initially forgot that the old RAP did this, so this was left out for a
- while.
- - Fixed a slight bug with the LOOKUP feature that wasn't tracking the
- actual number of displayed users correctly. This could cause a bunch of
- extra seperator lines to be sent.
- - Modified the User File to allow Users to choose different types of
- Personal Actions (Normal or TalkType). While the size of the user file
- hasn't changed, I decided to bite the bullet and change the order around.
- See the Upgrade Notes below for details.
- - Finished the new Personal Action Editor! The initial screen of the
- Editor is a lot like the old RAP's, but after that, it is totally
- different. The new editor allows users to change only the parts of the
- Action that they WANT to change. It also allows experienced users to
- zoom along since the help is only displayed when the user asks for it.
- The Personal Action Help is contained in the PERSHELP.A?? files, included
- with this release.
- - Personal Actions now work!
- - Personal Actions are displayed at the end of the ACTIONS list.
- - Some general File I/O Error Checking added to help prevent crashes.
-
- Version 1.70beta
- ----------------
-
- Release for volunteer beta testers in my local area.
-
- - Description editing implemented in the Profile Editor.
- - LOOKUP command implemented.
- - Took a look at the Maximus Structures and didn't like what I saw. They
- are not described very well so I'll need to get more detailed info. The
- point of this entry? To warn you that Maximus BBS interfacing will be a
- ways off. I wanted it for 1.80wb, but that's gonna be pushing it.
- - Fixed a serious potential problem that didn't unregister the node if the
- program was aborted due to carrier loss, inactivity, etc.
- - Fixed a MAJOR flaw that caused the New User Procedure to abort with a
- Sharing Error when it tried to save the user's data!
- - Gender changing allowed in the Profile Editor. Hey, you can do it with
- MajorBBS, so why not in RAP? In the end the choice of allowing users to
- change this will be left up to the SysOp.
- - COMMANDS feature added. I believe this will be handy to more experienced
- users who just need a memory refresh.
- - Colour Coded the Action/TalkType list to distinguish between the two.
- When I get the chance I'll modify the list to work like the old one (all
- Actions first, then TalkTypes), but for now this way will work.
- - User file changed to allow for Date and Time Formats to be stored.
- Thanks to Mike Aleksiuk for this suggestion. It's not used at the
- moment, but it will be in v1.80wb. Existing user files will work without
- any problems.
- - Improved the Upgrade Program a little so it reports what it's doing.
- - Fixed the TIME display so the "Time In RAP" displays correctly instead of
- some weird number.
- - RAP now prompts New Users for a Description. I have found in the past a
- lot of my users don't make use of this feature, so I'm hoping this will
- draw more attention to it.
- - RAP now broadcasts important profile changes to all users. Description,
- Handle, and Gender changes are broadcast.
- - General Actions and Possessive General Actions (collectively GAs) have
- been added! General Actions are a popular feature on the newer MajorBBS
- v6's Pub, and Possessive General Actions are my own idea that extends the
- use of the GA feature. See the new HELP.ASC for information on GAs.
- - Joe's old ANSI screens had quite a lot of extraneous colour commands so I
- took the liberty of fixing them up. They should display a bit faster
- now.
- - Argh...I forgot to mention in the notes to RAP v1.50beta that RAP
- supports AVATAR! This is thanks to OpenDoors and RA's AVTCONV program.
- - Actions can now be done to ALL. I had a heck of a time with the actions
- at first so I kinda forgot about this feature, otherwise it would have
- been done sooner.
- - Fixed the "Last called xx days ago" calculations. They should work even
- if the person hasn't called in ten years! <grin>
- - Added RAMDisk support (finally). Unlike the old RAP, this is currently
- passed on the Command Line, though this will change. See BETA.DOC for
- details.
- - RAP now properly Capitalizes handles so they look nicer.
- - RAP finally checks for Duplicate Handles in the User File before saving a
- new user or changed handle.
- - Finally tracked down a terribly catastrophic cosmetic bug in the New User
- SignOn that caused half of the title page and the entire drop file to get
- dumped to the user. You can bet I'll have a talk with the author of OD
- about this one.
- - Added some extra colour to some command displays (including the short
- list) for extra readability.
-
- Version 1.61beta
- ----------------
-
- Bug-fix version for beta testers.
-
- - Got around a rather nasty problem with OD that would not display any sent
- text if it was longer than about 130 characters.
-
- Version 1.60beta
- ----------------
-
- Enhanced working version. First version for beta testers.
-
- - Actions and TalkTypes work now!
- - In addition to the old %m and %y tokens, two more are now available. They
- are %h (gender-sensitive third person) and %s (used in conjuction with %y
- to make possessives look better). See BETA.DOC for more details.
- - User's Gender is now either detected or prompted for and stored.
- - The entire action and talktype lists have been combined into one file. A
- maximum of 1024 actions and/or talktypes is now allowed. See below for
- upgrade details. This change allows future new action types to be
- supported with ease.
- - In case 1024 actions aren't enough, I plan to increase the limit later
- once I get a good idea of the total memory requirements.
- - Action list works.
- - Okay, maybe this isn't totally new, but it's important. File sharing has
- been implemented. Only time will tell if it's adequate.
- - The Command Line is implemented. The format is basically the same as the
- old RAP with the exception of leaving out the FILENAME of the drop file.
- See BETA.DOC for more details.
- - Small Profile Editor implemented. Only handle changing is allowed in
- this release, the rest will come next release.
- - Messages are now sent to other nodes when a user enters and exits the
- profile editor.
- - Conversation that occurs when a user is in the profile editor SHOULD be
- preserved and spewed at the user once he/she is done. I intend to put
- page-pausing in to allow the user to fully catch up.
-
- Version 1.50beta
- ----------------
-
- First operational version.
-
- - Began the long task of reconstructing the entire program. Whispers and
- exiting/entering work, and a few other things sort of work. I had a chat
- with somebody to test it out and things went smoothly (i.e. we could talk
- fairly decently).
- - The user file now uses 1024 bytes for each user. Unlike the old RAP,
- user records aren't created until they actually are needed, so you won't
- lose 250K when you first install RAP. This also allows the user file to
- be of virtually unlimited size. The maximum number of users is 32 768.
- Of course, the more users that enter RAP, the larger the user file will
- become, but that's natural.
- - No personal actions or user profile yet, but since space has been
- reserved there should only be a minimal space increase (if any) when they
- come in.
-
-